#ifndef FACHADASISTEMA_H
#define FACHADASISTEMA_H
#include <QString>
#include <QStringList>

class FachadaSistema
{
  public:

    FachadaSistema();
    virtual ~FachadaSistema();


	QVector<QString> validarUsuario(QString login,QString contrasena);
	QStringList cargarRoles();
	QString crearUsuario(QString nombre,QString cedula,QString login,QString rol,QString estado);
	QVector<QString> consultarUsuario(QString id,QString cedula,QString login);
	QString modificarUsuario(QString id, QString nombre,QString cedula,QString login,QString rol,QString estado);

	QString registrarIncidente(QString descripcion, QString prioridad, QString persona);

	QStringList cargarPersonasPrimerEstado();

	QString crearEstado(QString nombre);
	QVector<QString> consultarEstado(QString id,QString nombre);
	QString modificarEstado(QString id, QString nombre);
	QString eliminarEstado(QString id, QString nombre);

	QStringList cargarEstados();
	
	QString crearRelacion(QString estDominante, QString estDominado);
	QString consultarRelacion(QString estDominante, QString estDominado);
	QString eliminarRelacion(QString estDominante, QString estDominado);

	QString crearEstPorRol(QString rol, QString estado);
	QString consultarEstPorRol(QString rol, QString estado);
	QString eliminarEstPorRol(QString rol, QString estado);

	QVector<QVector <QString> > cargarIncidentes(QString idUsuario);

	QString cargarDocumentacion(QString idIncidente, QString documento);

	QStringList nuevosEstados(QString estadoActual);
	QStringList nuevosUsuarios(QString estadoActual);

	QString asignarIncidente(QString incidente, QString estado, QString usuario);

	QString usuario(QString incidente);

	void registrarHistorial(QString usuario, QString comentario, QString idIncidente);

	QStringList verUsuarios();

	QVector<QVector <QString> > cargarHistorial(QString usuario);

	QString cambiarContrasena(QString login, QString contrasenaA, QString contrasenaN, QString contrasenaN2);
};
#endif
